Automatic association of informational entities

ABSTRACT

The invention relates to the field of data storage. In particular, it relates to a method and system for allowing flexible creation and management of associations between informational entities on a computing device, such as a work station, a desktop computer, a tablet PC, a laptop computer and/or a mobile device. A storage system configured for storing a network of informational entities is described. The system comprises a storage medium configured to store a plurality of informational entities; to store a corresponding plurality of association records; wherein an association record corresponding to an entity indicates an association and an association strength between the entity and another entity; and to store a corresponding plurality of frequency indicators, wherein a frequency indicator corresponding to the entity indicates the frequency of access to the entity. Furthermore, the system comprises a processor configured to access the plurality of informational entities.

The invention relates to the field of data storage. In particular, it relates to a method and system for allowing flexible creation and management of associations between informational entities on a computing device, such as a work station, a desktop computer, a tablet PC, a laptop computer and/or a mobile device.

Retrieving information and navigating through information on a computer or a mobile device can be cumbersome. Not only has a user to learn the specifics of the interface of a certain application, i.e. the user interface concept, the window layout and the menu structure, but he also has to learn where within the application the intended information is stored, i.e. the organization of the information within the application and the data model. From a usability aspect the situation becomes even more complicated when the type of information which is manipulated is taken into account. By way of example, there are applications for organizing pictures, applications for organizing contacts, applications for organizing music and many other applications for manipulating many other types of information entities. This means that the user has to learn and get accustomed to all of these user interfaces and their respective data models.

Especially for consumer computers and mobile devices, it is clearly desirable to have one unified approach for organizing and navigating data in order to enhance the ease of use and to drive down the “mental costs” for a user to learn how to use the different applications on a system.

According to an aspect, a storage system configured for storing a network of informational entities is described. An informational entity may be a data file, e.g. a music file, a picture file, a contact data file, a file representing a time instant, a file representing a location, an email file, a document file. In more general terms, the entities, which will also be referred to as informational entities or items, may be data units comprising a name tag for identification purposes and a plurality of content elements comprising additional information or attributes of the data unit. By way of example, an entity may be the Contact data unit in a Contact databank having a name tag which corresponds to the name of a person and a plurality of content elements or attributes such as the person's address, telephone number, Email address, etc. An entity of the plurality of informational entities may assigned to or associated with a universal category of a list of universal categories, which may comprise e.g. a category associated with “people”, a category associated with “places”, a category associated with “time”, and a category associated with “things”.

The system may comprise a storage medium configured to store a plurality of informational entities; and/or to store a corresponding plurality of association records; wherein an association record corresponding to an entity indicates an association and/or an association strength between the entity and another entity. An association record of the plurality of association records may be structured according to the list of universal categories. In an embodiment, an association record comprises a separate listing for each universal category and indicates the associations towards informational entities which are assigned to the respective universal category. In other words, the association record may store an association to another entity in accordance to the universal category to which the another entity is assigned or associated. The universal categories may be subdivided into further sub-categories which may also be reflected in the structure of the association record.

The association strength may be given by a numeric value indicating a strong (high value) or weak (low value) association between two entities. The association strength may e.g. indicate the similarity between two text documents. In an embodiment, the association strength may be binary, i.e. “one” if an association exists and “zero” if no association exists between the two entities.

The storage medium may be configured to store a plurality of frequency indicators corresponding to the plurality of informational entities, wherein a frequency indicator corresponding to the entity indicates a frequency of access to the entity. An access to an entity may comprise the “opening” or “usage” of the entity by a user or a processor. By way of example, a picture file may be accessed by opening the picture file and by displaying the picture on the screen. The frequency indicator may be a counter which is increased upon each access to the respective entity. Furthermore, the frequency indicator may fade with time, in order to emphasize a recent access over an access which lies in the past. In addition, the frequency indicator may be a relative frequency indicator, normalized over all accesses to informational entities within a time period.

The storage system may further comprise a processor configured to access the plurality of informational entities. In addition, the processor may be configured to manage the updating of the informational entities, the association records and/or the frequency indicators.

According to another aspect, a method for storing a network of informational entities is described. Typically, the method is used for storing such a network of entities on a storage medium, e.g. a storage medium of a computing device, such as a smartphone or a tablet PC. The method may comprise the steps of storing a plurality of informational entities; and/or of storing a corresponding plurality of association records; wherein an association record corresponding to an entity indicates an association and/or an association strength between the entity and another entity; and/or of storing a corresponding plurality of frequency indicators, wherein a frequency indicator corresponding to the entity indicates the frequency of access to the entity.

As outlined above, the frequency indicators are typically increased whenever the corresponding entity is accessed. I.e. the method may comprise the step of increasing a first frequency indicator by a first value, when a corresponding first entity is accessed. However, in view of possible associations between entities, such access to a first entity should also have an impact on the access frequencies of its associated entities. In other words, the increased frequency should radiate to the associated entities. As such, the method may comprise the step of increasing a second frequency indicator of a second entity by a second value, wherein the second entity is associated with the first entity. The second value may depend on the association strength between the first and second entity; and/or the second value may be based on the first value. Typically, the second value should decrease with a decreasing degree of association between the first and second entity.

According to another aspect, a method for converting a hierarchical tree-like file structure into a network of informational entities is described. The method may comprise the step of converting a folder of a hierarchical tree like file structure into a third entity, i.e. a folder is put on the same hierarchical level as any other informational entity. Typically, the third entity will comprise the name of the folder, however, no further informational content.

The method may comprise the step of selecting or converting a file within the folder of the hierarchical tree like file structure to a fourth entity. The fourth entity will typically have the name of the file, as well as additional informational content corresponding to the content of the file.

Subsequently, the former super-ordinate/sub-ordinate relation between the third and fourth entity is converted into a networked relationship. For this purpose, the method may comprise the steps of storing a third association record corresponding to the third entity, indicating an association and/or an association strength with the fourth entity; and/or of storing a fourth association record corresponding to the fourth entity, indicating an association and/or an association strength with the third entity. Furthermore, the method may comprise the steps of storing a third frequency indicator corresponding to the third entity, indicating a frequency of access to the third entity; and/or of storing a fourth frequency indicator corresponding to the fourth entity, indicating a frequency of access to the fourth entity. The third frequency indicator may be higher than the fourth frequency indicator, to reflect that the third entity had a superior hierarchical position in the hierarchical tree like file structure than the fourth entity.

According to a further aspect, a method for converting a structured file into a network of informational entities is described. A structured file typically comprises hierarchically organized metadata, i.e. data or information about the content of the structured file. In case of a picture file, such metadata may e.g. be data relating to the GPS coordinates, the place and the country of the picture. In case of a music file, such metadata may e.g. be data about the title, the album, the artist and the genre of the content of the music file. The method may comprise the steps of providing such a structured file and of extracting the metadata from the structured file. The method may proceed in storing a fifth and a sixth informational entity for the metadata organized at a first and a second hierarchical level, respectively. The first hierarchical level may be subordinate to the second hierarchical level. In the above example, the fifth entity may relate to the “place” where the picture was taken and the sixth entity may relate to the “country” where the picture was taken.

Furthermore, the method may comprise the step of storing a fifth association record corresponding to the fifth entity, indicating an association and an association strength with the sixth entity; and/or of storing a sixth association record corresponding to the sixth entity, indicating an association and an association strength with the fifth entity. In addition, the method may comprise the step of storing a fifth frequency indicator corresponding to the fifth entity, indicating a frequency of access to the fifth entity; and/or of storing a sixth frequency indicator corresponding to the sixth entity, indicating a frequency of access to the sixth entity. The sixth frequency indicator may be higher than the fifth frequency indicator, to reflect that the sixth entity had a superior hierarchical position in the metadata than the fifth entity.

According to another aspect, a method for determining or generating an association between at least two informational associations is described. Such association may be created automatically or manually. In case of manual association, the method may comprise the step of displaying a user interface for enabling a manual association between at least two informational entities, e.g. an association between a seventh entity and an eight entity of the plurality of informational entities. In an embodiment, such manual association may comprise a circular movement by a cursor or a finger around indicia representing the seventh and the eight entities on the screen of the computing device. Subject to the determination of an association, the method may proceed in adding an entry in the association record of the seventh entity, indicating an association and an association strength with the eighth entity; and/or in adding an entry in the association record of the eighth entity, indicating an association and an association strength with the seventh entity.

According to a further aspect, a method for creating an association between entities in an automatic manner is described. This method may also be used to provide a structured, hierarchical representation of the network of informational entities and to thereby provide intuitive access points to the network of informational entities. In addition, the method may be used to automatically extract new informational entities from informational entities already stored on the computing device and to thereby increase the knowledge stored in the network of informational entities.

The method may comprise the step of storing a set of universal entities corresponding to universal categories of a list of universal categories. In an embodiment, the list of universal categories may comprise a category associated with “people”, a category associated with “places”, a category associated with “time”, and a category associated with “things”. The universal entities, e.g. the entity “people”, the entity “places”, the entity “time”, the entity “things”, may be displayed as universal access points on the screen of the computing device. Furthermore, in order to create a universal hierarchical representation, the universal entities may be associated with universal sub-entities, e.g. sub-entities “email”, “pictures”, “music” for the universal entity “things”, sub-entities “person”, “company” for the universal entity “people”, sub-entities “countries”, “cities” for the universal entity “places”, etc.

The method may comprise the step of providing a semantic sensor comprising a keyphrase or keyword having a subordinate relation to a first universal entity. In the following, the terms “keyphrase” or “keyword” may be understood as a phrase that consists of one or more words in a defined sequence (e.g. “Berlin”, but also “New York which consists of two segments”). In general, the semantic sensor may represent a hierarchical relation between the first universal entity, possibly intermediate or universal sub-entities, and the keyword. Furthermore, the semantic sensor may comprise a plurality of variants of the keyphrase or keyword and any of the variants of the keyphrase or keyword may be searched within the content of the stored informational entities. Variants of a keyword may be alternative spellings of the keywords, and/or the keyword in a different language.

The method may proceed in identifying the keyword, or possibly one of its variants, within a ninth entity of the plurality of informational entities. Furthermore, the method may comprise the step of storing a new entity corresponding to the keyword. The latter step may be performed if no entity representing the keyphrase/keyword is stored in the network of informational entities.

In addition, the method may comprise the step of adding an entry in the association record of the first universal entity, indicating an association and an association strength with the new entity. This step may be performed if the semantic sensor indicates a direct hierarchical relation between the first universal entity and the new entity representing the keyword. Notably, if the semantic sensor further comprises an intermediate category subordinate to the first universal category and superordinate to the keyword, the method may comprise the steps of storing an intermediate entities corresponding to the intermediate category; and/or of adding an entry in the association record of the first universal entity, indicating an association and/or an association strength with the intermediate entity; and/or of adding an entry in the association record of the intermediate entity, indicating an association and/or an association strength with the new entity. Eventually, the method may comprise the step of adding an entry in the association record of the new entity, indicating an association and/or an association strength with the ninth entity.

In other words, semantic sensors which indicate a hierarchical representation between a first universal entity, possible intermediate categories and a keyword may be used to generate hierarchically organized associations between the first universal entity, possible intermediate entities, the entity representing the keyword and informational entities which comprise the keyword or one of its variants. As such, hierarchically organized access points may be established via the hierarchy of universal entities and possibly intermediate entities (e.g. “Places”→“Cities”→“Berlin”).

According to a further aspect, a data structure for a network of informational entities is described. The data structure may comprise a plurality of informational entities; and/or a corresponding plurality of association records; wherein an association record corresponding to an entity indicates an association and an association strength between the entity and another entity; and/or a corresponding plurality of frequency indicators, wherein a frequency indicator corresponding to the entity indicates the frequency of access to the entity. Furthermore, a storage medium comprising data stored according to such a data structure is described.

The objects and features of the invention will become apparent from the following description of preferred embodiments. The present invention is described in the following by referring to exemplary embodiments illustrated schematically in the accompanying figures, wherein

FIG. 1 illustrates a conventional file structure;

FIG. 2 illustrates a networked file structure; and

FIG. 3 illustrates a user interface making use of a networked file structure.

Conventional file systems 122 in computer operating systems usually have files (e.g. reference sign 106 in FIG. 1) and folders (e.g. reference sign 100 in FIG. 1). Files typically comprise some kind of data which is often specific for one application or a class of applications, for example “jpg” picture files. When opening these files, usually the operating system looks at extensions of the filenames or similar (external) information to deduce what application to use for processing them. For example, a file with the extension “.jpg” is associated with software that is able to display pictures or organize pictures.

In conventional file systems, files are usually kept in folders 118, 100, 102, 104, 114 that group files 106, 108, 110, 112, 116 together. Usually, a file is only kept in one place, i.e. within exactly one folder. A folder is a data structure 120 stored in memory that keeps record of what files and other folders are stored within it. While folders can comprise other folders (e.g. folder 100 within folder 118), files cannot comprise folders. Usually, file systems have a so-called root folder 118 which is the “mother” of all folders. Thus conventional file systems are organized in a hierarchical way: The root folder 118 comprises files and other folders 100, 102, these other folders 100 again comprise folders 104, files 106, 108 and so on. This inevitably yields a tree-like structure 122 as illustrated in FIG. 1.

At least three aspects of the described conventional file systems appear to be problematic:

-   -   1) A file can be kept in one place only. This may be problematic         if the computer user, e.g. a project manager, wants to have one         file available for multiple projects. The conventional way to         address this problem is to generate multiple copies of the file         and have them stored in different folders. This, however, leads         to data integrity issues, as well as to an increase in the         required storage space.     -   2) The concept of a hierarchical, tree-like organization may not         be adequate when it comes to representing complex         interdependencies between different files. Such         interdependencies may reflect the passive or active knowledge of         the user of the computing device. One hierarchy of files may be         adequate for representing a certain aspect of a topic, while a         different hierarchy of files may be adequate for representing a         different aspect. Thus it is complicated for the user to think         about a suitable hierarchy ex ante and even this may turn out         inadequate at a later stage. It should be added that         conventional file systems do not have much insight about the         content of files such that the retrieval of information         comprised within a file may be problematic. In other words, a         hierarchical, tree-like organization of data does not appear to         be appropriate for a targeted retrieval of files and of         information comprised within the files.     -   3) The tree-like organization of folders and files translates to         long travels for the user through hierarchies of the file/folder         tree. Conventional file browsers such as the Microsoft Explorer         require the user to double-click a folder to reveal its content.         Thus, if projects are organized in a deep hierarchical file         system, it requires the user to perform many clicks to get to         the desired file.

To find documents across a folder hierarchy, i.e. to support the user to find documents for which the user does not know the storage location within the file structure, conventional computer operating systems (OS) provide programs running in the background that maintain search indices. These search engines “look into” files in order to maintain a list of search indices. When invoked by the user, search engines put out a list of documents based on whether the documents contain one or more given search words (also called key words). Conventional search engines maintain a simple “reverse lookup index” (RLI) that stores for each word in a vocabulary the documents within which the word occurs. When the user enters a word in the search engine, it is looked up and the documents which comprise the particular word are presented to the user. To maintain the RLI, every document has to be indexed. This can be triggered whenever a document is added to the system. It should be noted, however, that the RLI does not provide any information with regards to the overall similarity of documents. The RLI is purely based on the identification of key words.

The above mentioned weaknesses of conventional file systems are addressed in the present document by introducing an associative, networked way of representing data and by automatically generating associations between the stored data. Such a networked representation 218 of files and the associations between the files is illustrated in FIG. 2. When using a networked representation 218, a file 202 can be arbitrarily associated to other files 206, 208, 210, 204 and vice versa. The association between files is depicted by connecting lines 120 in FIG. 2. Thus, there is no hierarchy between the files anymore. The user can navigate from file 202 to file 208 via 206 or to file 206 from file 208. As such, the networked representation 218 may be used to flexibly describe associations between all files within the network and to thereby enable flexible means of data retrieval.

A conversion process from a conventional file system to the networked file system will be described in further detail below. Such conversion process may involve the generation of new files that correspond to folders in the conventional file system. In this way, the former hierarchical organization of the files and folders can be preserved while adding the benefits of a networked file representation. By way of example, file 202 may have been a folder prior to the conversion from a hierarchical file system to a networked file system. The former folder 202 may have comprised files 206 and 208, as well as former folder 210 (which has also been converted into a file) as a sub-folder that comprised file 212 as a further sub-folder.

The automatic generation of a network of knowledge, i.e. a network of associations between the files, relies on the analysis of the content of the files and allows for associating files to each other that are similar with regards to their content. Thus, the networked file system maintains additional information with each file about the files which are associated with this file. The retrieval of one document or file can therefore lead to the “co-activation” of other documents or files of similar content which are associated with the retrieved document or file.

It should be noted that the networked representation 218 of a file system may be used as integral part of the file system or as an additional access layer on top of a differently structured file system.

As indicated above, the content of multiple documents may be analyzed and different documents having similar content may be associated with each other. In addition to a RLI, a record may be maintained for each document or file, or more generally, for each informational entity. The record comprises a list of documents or files associated to the particular document or file.

The detection and the indication of a relationship between documents may be based on a score 214 that represents the degree of a relationship between the documents. For example, if the score 234 is zero, there is no association between two documents (as denoted by the dashed line between file 202 and file 232). A higher score indicates a stronger association between the documents or files. Every association (indicated by the solid lines 120) between two files would have a score indicating the strength of the association.

The score can be user-defined or computed automatically. In an embodiment, the user is enabled to manually associate files with each other and build up a network of documents without the help of automatic association. Such manual association may be supported by a graphical user interface facilitating the association between two or more informational entities, e.g. documents or files, and facilitating the setting of scores or association strengths. However, it is desirable for large document collections that documents may be associated automatically and their scores set accordingly.

The score indicating the association strength may for example be a result of the document similarity. I.e. the score may depend on how similar two documents are with regards to a given aspect of their content. If two documents are not similar, the document similarity calculation may result in a score of zero (reference sign 234) and the two documents may not be associated (e.g. file 202 and file 232).

Whenever the user retrieves a particular document, the networked file system may also list documents that are similar, i.e. that are strongly associated, to the retrieved document, i.e. documents which are associated with the retrieved document. It should be noted that the document similarity is different from simple sharing of the same key words. By way of example, the retrieved document may have been selected according to a search word but the associated documents which are listed in conjunction with the retrieved document may not need to comprise the search word. This may lead to a superior performance in comparison to a plain RLI based search engine.

Document similarity may be computed in different ways. The document similarity may be used to decide whether or not two informational entities that contain text or other information are similar enough to justify an association and further, how strong this association should be.

In one implementation, the similarity of two texts may be assessed by first filtering out high frequency words, i.e. words that occur very often in text corpora such as “a”, “the”, “and” and so forth. Typically, high frequency words do not carry too much semantic information. In a next step, a list of unique words for each of the two texts in question may be built based on the remainder of the aforementioned frequency filtering. Next, the cut set of words of the two documents may be computed in order to assess the extent of the overlap of the remaining words. This may be an initial way to decide whether two documents or texts are similar or not.

A refinement may be a weighting of the words in the cut set according to some score. The text book on statistical natural language processing (“Foundations of statistical natural language processing” by C. D. Schütze and H. Manning, incorporated by reference) describes a weighting scheme called “td·idf” which suggests a weighting given by the “word frequency” multiplied by the “inverse document frequency”, i.e. the frequency of occurrence of a word within one document divided by the relative number of documents in a document collection within which the word occurs. Consequently, words that occur often within one document, but are rarely used in other documents will be considered to be important. The best score for a word will be achieved when it occurs rarely in the document collection as well as very often in a single document.

The problem with such a weighting in the context of the creation of a networked file system is that a document collection, i.e. a file system, is built up from scratch. Consequently, when documents are analyzed and compared in an early stage of the build up of the file system, the weighting of words will be different compared to documents which are analysed at a later stage. This is generally not desirable.

This problem may be addressed by using the general word frequency as opposed to document frequency. This implies that the analysing system would use a pre-loaded dictionary containing the words of the language together with their frequency when it is delivered to the user. A second possibility would be to have such a pre-loaded dictionary together with document frequencies obtained from a corpus reflecting typical user data. In both cases, the individual, subjective importance of a word would be less important as when looking at the user's documents themselves. A further possibility would be to analyse the whole set of documents stored in a file system and to collect word frequencies in a first run and to then associate documents using such word frequencies in a second run.

Further factors which may be taken into account when analyzing the similarity of documents is the length of the text (or the different number of unique words in the texts). In order to consider to associate two documents, there may be a rule applied that the two documents need to have approximately the same number of unique words.

Moreover, not only a list of single words but phrases of two or more words may be used to decide on the similarity of texts. This may influence the precision of the decision. Consider the two sentences “The car is broken.” vs “The car is not broken.” First, “The” and “is” may be filtered out for being frequent words. Then the sentences would have an overlap of ⅔ (“car” and “broken” shared, “not” not shared). This may qualify the texts to be associated. When employing phrases of only two words the overlap would be reduced, i.e. “car broken” vs “car not” & “not broken”. Consequently, the quality of the analysis on similarity may be increased by increasing the length of phrases which are to be compared.

The method of building associations between documents may be further extended by segmenting documents before associating other documents to selected segments. For example, a book may be divided into chapters or a description of a product may be broken down into different aspects of the product (pictures, installation, handling, cleaning or technical specification). Such segmentation would increase the accuracy of the associated documents. The records for maintaining associations between documents would then be extended to records for maintaining associations between segments of documents.

Documents within the network representation 218 may be further associated with a counter that indicates the frequency by which the document has been accessed by the user. By way of example, file 204 in FIG. 2 has been accessed 12 times as depicted by the counter 220. According to an aspect, documents which are associated with a retrieved document may also increase their frequency even though they have not been accessed by the user. This frequency increase may be equal or less than the frequency increase of the document actually retrieved. For example, if the retrieved document 202 incurs an increase in usage frequency of 10 when it is accessed by the user, its associated documents 204, 210, 208, 206 may incur an increase of 5. Such a co-activation based increase may extend even to documents of second order in the network (e.g. a frequency increase of file 212 through file 210 when originally file 202 was activated/accessed). The strength of the increase may take the distribution of a Gaussian curve or the inherited frequency increase may reduce exponentially with the number of intermediate files or informational entities. Furthermore, the strength of the increase may depend on or be weighted by the association strength, i.e. by the score. Such a weight may be computed by adding up the association strengths of all directly associated connections and dividing each of them by this sum yielding a weight between 0.0 and 1.0.

It should be noted that the document access-frequencies may be used to present those files of a selected set of files to a user which have the highest access-frequencies. By way of example, if the user retrieves file 202, the associated files 206, 208, 210 and 204 may be presented to the user ranked by their counts, i.e. ranked by the usage frequencies. Consequently the files would be displayed in the order 204 (count 12, 220), 210 (count 9, 228), 208 (count 4, 226), and 206 (count 2, 224).

As the networked representation 218 of files has no root file or folder, the initiation of retrieving documents (e.g. the opening of the “Explorer” of Microsoft Windows or the opening of the “Finder” in Mac OS or typing “Is” in Unix shells) has to be different in file systems using a networked representation. It is clearly desirable to present the user with some initial documents so that he can start navigating the data network from different “access points”. Such access points may be defined by document clusters, as outlined below. Furthermore, access points may be defined by performing a categorization of the different informational entities. As will be outlined at a later stage, the different informational entities within the network may be assigned to universal categories and sub-categories, and thereby create an hierarchical overlay representation which may be used to provide appropriate access points.

Clusters of documents are groups of documents which are strongly interconnected among each other but not or not strongly connected to other clusters. At the initiation of a retrieval session, the user thus may get a couple of documents presented all of which refer to one cluster. The presented documents typically have the highest access-frequency for their cluster. For the example given in FIG. 2, there are two clusters, the network around file 202 and the file 232 which is not associated to file 202. The user may retrieve document 202 and get the associated files 204, 210, 208 and 206 presented.

In summary, a networked representation of documents or informational entities has been described. Using the networked representation, different documents may be associated and the associations between the documents may be characterized by association strengths. Furthermore, a record indicating the frequency of access to the different documents may be maintained. Depending on the association strength, the frequency of access to one informational entity may be partly inherited to associated informational entities. This may lead to a view on the file system where only documents with a certain minimum access frequency are presented to the user or upon retrieval of a document only associated documents with a certain minimum access frequency are presented to the user.

In the following two aspects for building a networked file system are discussed in further detail. In a first step, a process for converting a conventional file system to an initial network representation of the file structure will be described. Then, a process for automatically generating an initial network representation which reflects a hierarchy based on the content of a file is described.

The conversion of a conventional file hierarchy into a networked representation may be based on the fact that the network representation of files should initially reflect the hierarchy of the documents. Since the networked representation 218 does not use the concept of “folders”, such folders should be represented by an entity which may be used in the context of networked representation. As alluded above, files may be generated which represent the original folders. The root folder 118 may be represented by a corresponding file. This file may be automatically associated to all the files and folders that the original folder contained, i.e. the file 118 may be associated with the files which represent the original folders 100 and 102. This can be done for all files in all depths of the file structure.

However, this would lead to a very structured and non-dynamic representation of the file system as access frequencies to the files and file counters described above would not result in any different representation. In order to use the additional abilities of navigating through associated files, the algorithm of generating the network representation may comprise the association of a file with all other files along the path up to the root file 118. Additionally, whenever an association to a file is built, the score of the association is increased and the counts of the associated files are increased.

As an example, one possible algorithm to turn the file hierarchy into a network may be given by the following steps:

-   -   1) In a first step, generate files which represent folders. This         can be done in various ways in order to prevent double file         names.     -   2) For all files the frequency count is set to one.     -   3) In order to give files the chance to increase their rank when         being presented to the user, every file is associated not only         to its mother-file (a previous folder) but also to all of its         mother-files. This is shown in Table 1, where the columns “file”         and “mother-files” indicate the connections resulting from the         file structure 122 of FIG. 1. Whenever a mother-node is         connected, its access frequency is increased. This is shown in         Table 1 where the column “frequency” indicates the resulting         frequencies.

TABLE 1 frequency file mother-files 1 114 104, 100, 118 1 116 104, 100, 118 3 104 100, 118 1 106 100, 118 1 108 100, 118 6 100 118 1 110 102, 118 1 112 102, 118 3 102 118 10 118

The above mentioned procedure ranks files with many daughters higher than files with less daughters. When the user initiates retrieval of a file, he would thus not only see the root-file 118 but also the daughters 100 (frequency 6), 102 (frequency 3) and 104 (frequency 3) and so on.

Through the access to files, the access frequencies would be increased as described above. Thus when the user sees a file in the ranked frequency list and accesses it, its frequency would be increased but not necessarily the frequency of its “mothers” (at least not to the same extent). This yields to a dynamic restructuring of files reflected in changing ranks when presented to the user.

The algorithm may comprise the further step of:

-   -   4) associating files of similar content. As indicated above, the         association may be performed manually or automatically. As a         result, if files 116 and 110 have a similar content they would         also be associated, even though such association would not have         been reflected in the initial hierarchical tree like file         structure. This procedure would allow for presenting the user         files that are similar in content but that were previously         distributed across the file hierarchies.

In the following, a method for using information comprised within structured files for the generation of a networked representation 218 is outlined. Above a method for using the information comprised within the folder structure of a hierarchical tree like file structure for the generation of a networked representation 218 has been described. The folders of the hierarchical file system represent a structure between different files. These folders are converted, into files and the structure is converted into links between different files. This process can be used in a similar manner for the conversion of structured files.

Some files have an internal structure that can be used for generating a networked representation of files. Among these are music files and pictures. In the following, an example for building up a structure from a music file is provided. Music files such as mp3-files usually comprise so-called metadata or tags. This metadata describes the genre, artist, the name of the album, the name of the track, the release date, etc. In general, this metadata can be considered to be hierarchical data. The hierarchy can be represented as follows: Music→Genre→Artist→Album→Track. However, this hierarchical interpretation is only one way of looking at the metadata.

In a similar manner as outlined above, it is desirable to represent the metadata as a network rather than as a single hierarchy. The logic of building up the network is similar to the algorithm described above. When using the information comprised within a structured document, the designer of the network may lay a foundational hierarchy by defining what type of information should have the strongest impact. The algorithm could generate the files according to the internal categories (e.g. “Pop”) and then build up the network with the weighted associations and frequency counts. I.e. an element of information comprised within a structured music file, e.g. the name of the artist, may be represented as a file or an information entity which is associated with the respective music file.

In the hierarchy exemplified above, the Album “Home” by the Artist “Simply Red” together with the Album “Life” by “Simply Red” and “Thriller” by “Michael Jackson” (all three from the genre “Pop”) can be stored as shown in Table 2. I.e. the information comprised within the structured music file is extracted and files are created for the different informational entities. These informational entities are associated with the actual music file. The associations of the different informational entities are shown as “mothers” in Table 2.

TABLE 2 frequency file mothers 7 Music 6 Pop Music 3 Simply Red Pop, Music 1 Life Simply Red, Pop, Music 1 Home Simply Red, Pop, Music 2 Michael Jackson Pop, Music 1 Thriller Michael Jackson, Pop, Music

Again, when the user starts to retrieve this data structure, he would be presented a list ranked by the frequencies: Music (7), Pop (6), Simply Red (3), Michael Jackson (2), Life (1), Home (1), Thriller (1). If the user would directly access the album “Thriller” and its frequency count would be increased by one the informational entity “Thriller” would already work its way up the list by leaving “Life” and “Home” behind. A couple of more accesses would eventually move the frequency of the entity “Thriller” beyond its place in the original hierarchy. Thus the user's access behavior influences the presentation of the data and accelerates the access by reducing the number of clicks. It should be noted that even though the files are associated within a networked representation, a user could still access a specific informational entity via the original hierarchical path, as the files are connected accordingly.

As further examples, the association procedure may cross-associate files according to their mood or year of release or other information which can be derived from the music file.

The concept of extracting informational entities from existing files is not limited to the extraction of data which is comprised within a structured file, such as music files which have key-value pairs, defining what information belongs to what category (e.g. key=album, value=“Life”). Such values may be extracted from generic files by specialized software which does not require the use of keys in order to structure the extracted informational entities. For example, an image analysis software may extract visual features from a picture to build up an associative file system. Recognizing a human being with a face and a nose in it might reveal a natural hierarchy and it might lead to the association with the category/entity “people”. Here again, pictures with human beings may be associated with each other while the original hierarchy of the picture files may depend on cities, streets, buildings, for example. I.e. the original hierarchy of the pictures may be given by GPS coordinates, thereby providing a geographic hierarchy. In addition, the content of the pictures may be analyzed in order to create additional associations to informational entities such as people.

In summary, a networked representation of informational entities has been described. The informational entities may be organized in universal categories such as a “people” category, comprising entities with data on individual persons or companies, a “things” category, comprising entities for music files, pictures, emails, etc., a “places” category, comprising entities for countries, cities, buildings, etc., and a “time line” category, comprising entities for time instants. The universal categories may be structured in sub-categories and provide access points to the networked file system. However, regardless the structuring of the informational entities into categories and sub-categories, the informational entities may be freely associated with each other. By way of example, an entity for a “music file” may be associated with an entity for a “person”, an entity for a “picture file” may be associated with a “time instant” and/or a “place”.

The above mentioned networked representation of entities allows for the arbitrary association between entities of any kind. The association between entities may be implemented by defining an association record with each entity, wherein the association record comprises a link to the entities which are associated with the respective entity. In addition, the association record may indicate the strength of the association between associated entities. Furthermore, a frequency indicator may indicate the frequency by which an informational entity is accessed by a user, thereby facilitating the retrieval and the display of most frequently used entities.

A networked representation of informational entities may be used to store relational knowledge within the network. In particular, the knowledge is stored by the association between different informational entities, as well as by the association strength and by the access frequency. This knowledge can be continuously updated and extended by creating new associations and by updating the association strength and the frequency indicators.

Furthermore, the knowledge stored within a networked representation of informational entities may be used to support the work of knowledge workers, e.g. by correlating currently used informational entities with associated entities. In an embodiment, the perceived content of a document, i.e. an informational entity, may be analyzed in real-time and information which is correlated with the perceived content may be displayed. In the following, an example for such a use of a networked representation of entities is outlined.

Modern computer systems are mostly used for consuming and generating information. Knowledge workers have to review documents, read articles, do research on the internet and then possibly consolidate the collected knowledge into a new document that is the result of converging and mentally processing the newly acquired knowledge. As indicated above, the user's documents are typically stored in folder structures organized in certain hierarchies (projects or clients, for example). Other information is available on the internet or stored in emails that are in turn stored within an email application.

Consequently, in conventional operation systems, the user has to work on multiple applications learning multiple menu- and organization structures to collect the knowledge of a given field. Even worse, if the knowledge is not readily accessible, the user has to employ local or internet based search engines to find the relevant documents to read.

As such, it is desirable to reduce the strain and effort to collect information of different sorts and from different sources. In particular, it is desirable to present relevant related information at the same time as the user is consuming a source of information, thus shortening the path from reading one document to finding other relevant documents.

In an example case, the user opens a page in the web-browser and gets associated personal knowledge presented, e.g. in a separate window. In a second example, the user receives an email and gets associated knowledge displayed. In other words, the user views a document, e.g. a word file, email or website, and the software analyses the content of that document and immediately shows similar documents that are stored already at the user's device. As a consequence, the user could be provided with the personal context about the new data that he is consuming. If the user reads an article about a certain topic, the document similarity between the current article and the user's document collection could be computed. As a result of such an analysis, the top n documents, i.e. the n most relevant related documents, could be shown to the user.

In other words, it is suggested to present a user with a list of related informational entities, e.g. documents, files, etc., while he is consuming another document or media. As such, the consumption of media is accompanied by already stored, personal data so that the user can easily embed the new knowledge in his personal context. The user's access to associated knowledge is strongly simplified by this concept and the probability that already available knowledge is used to understand the present new data is increased.

Conventional technology would use system-wide search engines that have to be explicitly invoked by the user and the user would subsequently have to enter some keywords to obtain a collection of documents. This conventional approach has several problems: 1) the user has to invoke the search engine, which is already an additional cognitive effort; 2) the user has to choose the right keywords; and 3) the user has to review actively the documents in the results.

The concept of providing the user automatically with associated knowledge aims at reducing the complexity of the procedure of getting to associated knowledge while improving the quality of the matching results. The improved quality of matching results may be achieved by the computation of document similarity rather than a mere keyword match. Furthermore, the storage of the different documents within a network of informational entities allows for the flexible creation and retrieval of associations which may be used to determine appropriate related documents.

In an embodiment, the system would analyze the parts of the document that are actually visible to the user and would only use this portion of the text for matching documents. In current computer environments, a document may be longer than the physical display is able to present. In a similar manner, computer desktops using a plurality of windows may display only a portion of the text to be viewed. Usually the user can navigate through the document to see invisible parts using scrollbars or up/down keys. The search for related documents may be limited to selected portions of the documents, e.g. the displayed portion of the document. By way of example, the search may be restricted to a certain surrounding of the current cursor position. Constraining the automatic document match to only parts of the presented new information can further improve the match quality, and thereby provide the user with more relevant associated documents.

In a further embodiment, the user's documents already residing on the user's computer could be segmented in a way that larger texts are separated into smaller proportions that have different content. By way of example, a book may be segmented into chapters. The user would then only see those portions of these texts that actually match the current data he is viewing. Consequently, in a combined embodiment, segments of a viewed document may be automatically matched with segments of documents stored on the user's computer, thereby providing a high degree of accuracy in terms of document matching.

In more generic terms, it is proposed to present a user with associated information entities when consuming, e.g viewing or listening, a particular informational entity. In even more generic terms, the user is presented with portions of informational entities which are associated with a portion of the informational entity that he is currently consuming. In order to identify the relevant associated information, the above described networked representation of informational entities may be used. When consuming a new informational entity, i.e. an entity which has not yet been associated with other entities within the network, various associating means may be used to automatically identify relevant associated informational entities. These associations may then be stored in the network of entities, thereby including the new informational entity within the network and thereby creating and storing new knowledge.

The association means preferably analyze the similarity of informational entities. However, association means may also make use of RLI and/or keyword matching methods. Furthermore, the association means may rely on manual interaction with the user.

In a further embodiment, the association between informational entities may be used to provide online suggestions of supplementary data while producing a new document. When a user composes a new document such as an email comprising recipients, a subject line, a body text and attachments, the user usually has to access different applications, e.g. a contacts database or a file browser, in order to find and assemble the relevant information. The effort for composing such a document may be reduced by re-arranging the sequential order with which the document is composed. In a proposed mode the user actually starts writing a text and the system analyses the text to make suggestions on suitable other components for the new document. In other words, the edited text is analyzed in order to indentify relevant informational entities which may be relevant for the composing of the text. As a result, the user is enabled to simply select a relevant entity, e.g. an email address of the person that he is addressing in the text, from the presented list, instead of working through different applications or folder structures in a hierarchical file system.

For example, if the user started an email with “Hey John”, the system would suggest suitable recipients from a contacts database or similar. If the user gives further hints in the text about who the recipient could be, the system could further constrain or provide further suggestions for the possible list of recipients. A simple example would be that the last name of the recipient is also provided, thereby restricting the presented informational entities, e.g. the contact items, to people having the written last name. However, more complex background knowledge may be used to further constrain the list of suggestions or to identify other relevant associated informational entities. E.g. the text may read “how is Jane?”, and the system may have a representation that one of the people with the first name “John” in the database is married to “Jane”. In such cases, the entities of “John” and “Jane” may be presented to the user. Such relationships between informational entities may be stored and maintained in a networked representation of informational entities as outlined above. A further example for such an indirectly associated entity may be the name of a company for which the recipient “John” works. Consequently, an entity representing the company could be displayed to the user when composing the email.

In general, all sorts of associated information may be used to generate a list of ranked candidates. For identifying appropriate informational entities which should be presented while editing a new informational entity, the above described association means may be used. Furthermore, the knowledge stored within a network of informational entities may be used. In particular, the associations between entities, the respective association strength and the respective frequency indicators may be used, in order to select and rank appropriate informational entities.

In the above example, if the user goes on in writing “Did you know that Michael Jackson is dead?”, the system would automatically open up a representation of the artist “Michael Jackson” and a representation of his “songs” in the music collection. When the user goes on writing “I love the song ‘Dirty Diana’”, the proposed set of data would be further constrained towards a subset of Michael Jackson's music, in particular to the song “Dirty Diana” or the songs of albums on which the particular song occurs. Consequently, contextual information within the composed document may be used to refine the list of appropriate associated entities.

Furthermore, it is contemplated that the proposed system is configured to identify distinct portions of the composed document. By way of example, the system is able to compute that the content of “hey John, how is Jane?” is not related to “Did you know Michael Jackson is dead?”. This could be done by identifying clusters of associated information as indicated above. In the current example, it could be identified that the content “hey John, how is Jane?” triggers a list of associated entities which is only very loosely related to the list of associated entities of the content “Did you know Michael Jackson is dead?”. In such cases, the system may be configured to maintain both lists of associated entities and to manage both lists of associated entities separately, or to maintain a unification of both lists. The system would continuously aggregate associated content and refine these suggestions during the user's production of the text. Such refinement would, however, by performed separately for the different lists or clusters.

As outlined above, the system may identify and display representations of files that can match parts of the text that the user produces. These files can be presented while the user is working on his main document. Consequently, the composition of complex documents such as emails (consisting of recipients, subject, body and attachments) is simplified in that the user does not have to choose the content of these components from other databases (like contacts for the recipients and the file browser for attachments) but can concentrate on the production of the main document. In an ideal case, the additional information which is provided based on the content of the main document is so relevant that the user can simply choose from this proposed list of supplemental data, i.e. the retrieval of data from other applications would not be required anymore.

In generic terms, a method and system for supporting the generation of a new informational entity is described. Based on the data provided by the user while generating the new informational entity, a list of associated informational entities is provided to the user, e.g. displayed on the screen. The user may select any of the associated entities and use the information comprised within the list of associated entities for the generation of the new informational entity.

In order to create the list of associated entities, the method and system may make use of the association means described in the present document. Furthermore, the knowledge comprised within a network of informational entities, e.g. the associations, the association strengths and the frequency indicators, may be used.

Above a networked representation of informational entities has been described. In the following a method and system for creating and maintaining associations between informational entities is described. Furthermore, a generic representation of the informational entities is proposed which provides intuitive access points to the networked file system.

In current operating systems, a user has the problem that documents are stored in a tree-like file hierarchy that is not always tailored towards the user's retrieval needs. Usually, the user sets up a folder structure, for example a “work” folder with “client” folders as sub-folders and in turn “project” folders as their sub-folders. Information that is stored in one sub-folder is usually invisible to the user when he is browsing a different part of the tree. As indicated above, conventional systems employ search engines to find documents across file hierarchies. The result of such search engines is often not helpful for the user as usually a list of files is presented with files that contain one or more keywords the user has entered.

In order to overcome these shortcomings, it is suggested to provide an additional representational layer for the files stored on the computing system of the user. This additional representational layer may be combined with the network of informational entities described in this document. The additional representational layer relies on a universal structure applicable to all physical domains. Here, four universal categories or dimensions are suggested and referred to as “people”, “things”, “places” and “time”. An informational entity, e.g. a document, is analyzed with regards to these four universal categories.

In order to analyze a document, detectors are used, henceforth called “Semantic Sensors”, which can match certain strings of words in a document to a universal category of the representational layer. The idea behind the analysis is that different excerpts of a document are represented as associations to the four universal classes or categories mentioned above. Thus for example, if a person called “Sven” is mentioned in a document, the semantic sensor could be used to create an association between the category “People” to the informational entity “Sven” and from the entity “Sven” to the document containing that name.

In this way, the user can easily retrieve documents mentioning the person “Sven” when browsing the associations to this informational entity. As a document, i.e. the informational entity comprising the document, can have more than just one associated entity, the user would be able to retrieve documents when having multiple entities in mind. Moreover, a document could have associations to the other aforementioned dimensions so that the user could retrieve documents using entities comprised within the category “places” and “people”, for example.

In order to generate relevant informational entities which may be associated to the document, the analyzing system may use passive knowledge about the world. The analyzing system may be aware e.g. that “Sven” is a male first name, that “Nokia” is a company, etc. This passive knowledge may be provided via listings of names, companies, etc. As a consequence, relevant elements from the passive knowledge could be stored as informational entities within the respective universal category. Furthermore, the analysis of the document would lead to an automatic generation of associations between the content of a document and the respective entities. E.g. for an incoming document and if the user did not have the entity “Nokia” stored as a company under the category “people” (or in his contacts application), the analyzing system would use the passive knowledge on company names and would create an entity “Nokia” which would be associated to the incoming document. There could also be other sources of passive knowledge, such as lists of celebrities, cities, countries, sports etc. As such, the analyzing system performs an automatic categorization of documents and the generation of representational hierarchies of their constituents.

The generation of representational hierarchies and associations between entities helps a user to find documents according to the content of the document. This may even be achieved for words that actually do not occur in the document. As an example, a document comprising the word “Nokia” is analyzed. Further there may be Semantic Sensors derived from passive knowledge that describe that Nokia is a company, i.e. that Nokia is associated with the informational entity “companies”. The informational entity “companies” may be associated with and/or stored under the universal category (or informational entity) “People”. Thus, using the semantic sensor, the analyzing system would generate a hierarchy of People→Companies→Nokia, i.e. the analyzing system would create associations between the document and the entity “Nokia”, as well as with the entity “Nokia” and the entity “companies”. Consequently, the document could be retrieved by selecting the entity “Companies” and by searching for associated entities. In the above example, if a second document would contain “Samsung” and the Semantic Sensor would contain Samsung as being a company, then this document would be accessible via the entity “Samsung”, and also via the entity “Companies”. It should be noted that when viewing the entities which are associated with the entity “company”, both documents would be displayed, as both documents are somehow associated with the entity “Companies”.

In order to perform the above analysis, so-called Named Entity Recognition could be used for the extraction of names from documents. Furthermore, semantic relations may be defined such as an “is-a” relation between representational entities. In the examples above, one could state that “Nokia is-a Company” and “Samsung is-a Company”, thereby expressing the hierarchical relationship between the two entities. The combination of recognized named entities and the semantic relations could furthermore be supplemented by rules that establish representational entities showing the hierarchies of these entities. Such a rule could state that the right-hand side of a semantic “is-a” relation as a hierarchically superior entity relative to the left hand-side. Consequently, the rule could be used to create such a representational hierarchy.

It is noted that a document may be analyzed by more than one Semantic Sensor, i.e. various sources of passive knowledge may be used. For example there may be sensors for cities of countries and so forth.

The combination of multiple representational hierarchies, e.g. different representational hierarchies for the different universal categories, allows for the navigation through document selections by using different access points. Thus the user is provided with ample possibilities from a dynamic range of hierarchies to get to a certain document, partly even using words that do not occur in the document itself.

A semantic sensor may also have a more complex structure in that there may be alternatives for an informational entity to match the string of the document. A semantic sensor for the city of Munich may thus be described as “(Munich|Munich OR München OR Muenchen OR Monaco) is-a City”. In this case, the semantic sensor may generate Munich (the word before the pipe character|) whenever one of the words followed by the pipe character is matched to a string in the text.

It should be noted that the described analyzing system differs from a technique that is referred to as “tagging texts” which means that usually the author or the owner of a document adds tags or keywords to a text to make it retrievable. In particular, the described analyzing system differs in that it matches parts of the text against databases that pre-exist for the respective semantic sensor, i.e. it matches segments of a document against preexisting passive knowledge. Furthermore, the semantic sensors apply semantic rules which are used to generate and to associate entities with sub-categories, e.g. to associate the entity “Munich” with the sub-category “Cities”. Finally, the sub-categories and/or the entities are associated with one of the four universal categories “People”, “Things”, “Places” or “Time”.

This means that the user can retrieve documents according to the natural semantic of the entities which he can most easily remember. These access points could be on different levels of the representational hierarchy, e.g. on the universal category level “People”, or on sub levels such as “Cities” or on the actual instances such as “Sven”.

Overall, the above mentioned analysis of incoming documents using semantic sensors and the creation of associations across a representational hierarchy helps the user to find a document more easily with only a few steps of retrieval.

Reference is now made to FIG. 3, which illustrates a graphical user interface making use of the networked file structure described above. By way of example, the networked file structure could be used to implement a consumer computer with a touch screen that allows for the use and organization of various types of information, such as music, pictures, videos, email, contacts, appointments and websites. All this data can be organized and represented by the present invention in a synergetic way while departing from conventional concepts such as windows, files, folder hierarchies and applications. For a consumer computer, it is typically desirable to give a user direct access to the data he/she is keeping. At the same time, it is also desirable to keep the user interface as simple as possible. As already mentioned, one drawback of conventional computer user interfaces is that there are different applications for different types of data, e.g. a music player for music files, a picture viewer for pictures, an email application for emails, a browser for websites and so on. All of these applications have specific interfaces and menus that the user has to learn and get accustomed to. At the same time, the computer does not help the user to fully exploit the power of the data that is stored in it. For example, it is not simple to find out who the friends or preferred contacts of a specific contact are, or who else lives in a particular city, or how that city looks like or when the user of the computer has visited that city last. In other words, the synergies between the applications and their local data cannot be leveraged in a satisfactory manner when using prior art user interfaces.

It should be noted that the graphical user interface is particularly well suited for man-machine or user interfaces that do not require a keyboard. By way of example, the methods could be implemented as a user interface of a tablet PC that could be operated entirely with a user's finger or with a pen. The user input would comprise the pointing at or the clicking on indicia representing entities on a screen and also the moving of those indicia. By bringing the indicia into the vicinity of one another, associations between the different related entities could be made which would enable a user to easily and intuitively retrieve a specific entity from the mass of data stored on the tablet PC. Upon the selection of the specific entity a desired set of functions, such as Writing of Emails, etc., may be performed.

As illustrated the user interface could display the four universal categories, i.e. Time 660, People 600, Things 650 and Places 640. All of these categories, which are implemented as informational entities, may reveal their associated data at the touch of a finger or at the mouse-click of a user. In the illustrated example, the “Time” category 660 is represented at a time bar, on which time dependent events, such as meetings, arrivals of emails, music and so forth, would be arranged and displayed. It should be noted that this presentation is only one possible way of representation and that associated informational entities may be presented in various different ways. The synergies of such a unique presentation of a time bar, on which various time-dependent entities may be shown, arises from the fact that only one time line is available and required for the whole system.

Not only can the user put events on the time line, the user can also drag dates from the time line to constrain the selection of data in the other categories. By doing so, a specific date of a certain interval of time may become an influencing entity for another activated entity. It should also be noted that the time line may be organized using different resolutions so that the user can switch between “days” 664, “weeks” 663, “months” 662, “years” 661 and so forth. Furthermore, by clicking the entity “now” 665, the user may be enabled to set the time ray to the current date and time.

FIG. 3 shows a further category “People” 600, which could comprise all information about the contacts that are known to the user. Such contacts may be organizations such as companies, hotels, restaurants and so forth, as well as people known to the device user. In other words, the entity “People” 600 could comprise a list of associated entities representing contact data. The illustrated user interface would allow a user to not only drag out one specific person from the list of associated entities and view the other people associated with this person, but it would also allow a user to drag out an entity representing a company name and view all the people working for this company as a list of associated entities. Furthermore, the user could drag an entity representing a person onto a specific time instance on the time bar 660, in order to obtain a list of associated entities having a relation with both the selected person and the selected time instance.

In addition, FIG. 3 shows a “Things” category 650, which could comprise all sorts of data that a user stores, such as emails, pictures and music. Similar to the other categories, also the “Things” category 650 is an informational entity that may have further associations, i.e. further associated entities, which appear on a screen, if selected by a user. By way of example, clicking on the entity “Things” 650 may trigger the display of a list of associated entities, such as emails, videos, music, pictures, websites. These associated entities may again each comprise a list of associated entities and so forth. At any time, the dragging of an influencing entity into the proximity of such an activated entity will influence the extent, the content and/or the representation of the list of associated entities.

Finally, FIG. 3 also shows a “Places” category 640, which could be associated with the information regarding the places that are known to the user, such as the contact's addresses, the cities that were visited by the user or that were cited in emails or even websites that the user has viewed. Using the methods described in the present document, the user could easily find out what people live in a particular city, by bringing an entity associated with the particular city into the vicinity of the activated “People” entity 600. The people having a certain relation to that particular city would then be displayed as a list of associated entities 610. As another example, the user could also use the entity related to the particular city to retrieve pictures from the “Things” category 650 which were taken in this city. This is particularly useful if the pictures were taken using a GPS (global positioning system) enabled camera and contain longitude and latitude information of the location that the picture where taken at.

As indicated above, the universal categories 600, 640, 650 and 660 could also have sub-categories associated with them so that emails could be organized in sub-categories and music files could be organized according to genres, artists and album titles.

The graphical user interface can be used to easily exploit the knowledge stored in the network of associated informational entities. In particular, the graphical user interface can be used to perform set operations (e.g. cut-set or union-set operations) on several entities and their respective associated entities.

In a first example, the user could drag out a person from the “People” category 600 and place it near the category “Places” 640. Activating the category “Places” 640 would reveal the address of that person, i.e. the cut-set between the entities associated to the person and the entities associated to the entity “places” is displayed. I.e. if an entity is brought into the vicinity of another entity, i.e. if the distance between both entities is below a threshold, both entities may influence each other and set operations may be performed in order to determine a certain subset of entities associated with both entities.

In another example, the activated entity “Pictures” could be dragged to the time line 660 in order to reveal the pictures sorted by time. If, in addition, the entity associated with a particular person is dragged to the time line 660, then only those pictures associated to that person are shown. Such association between the pictures and a particular person could be established based on the home address of the person, e.g. by associating the GPS data of the pictures with the GPS data of that address. Such association could also be established due to the fact that the person was present at a scheduled meeting, travel or party, which was associated with the pictures. In any case, such association could be reflected via associations stored within the network of informational entities.

In yet another example, dragging the activated entity “Things→Emails” to the time line 660 would show the Emails that were received and sent at the selected point in time. By dragging in addition an entity associated with a person to the time line, the list of Emails could be further restricted to the Emails that were sent to and received from that particular person.

The described methods and systems may be implemented on computer systems, such as workstations, desktop PCs, laptops, tablet PCs, and handheld or wireless devices, such as mobile phones, smart phones, PDAs, etc. They could be used in relation to a user interfaces for the operating systems of such systems and devices and thereby facilitate the interaction between the user and the devices and allow for an intuitive, simple and fast retrieval of data from the memory of the device. As such, the described method and system are particularly useful for data-mining.

The present invention is not limited to the disclosed exemplary scenarios. Other use cases can benefit from the invention as well. This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention. While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims. Especially, mutually non-exclusive features of the embodiments described above may be combined with each other. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. 

The invention claimed is:
 1. A storage system configured for storing a network of informational entities, the system comprising a storage medium configured to store a plurality of informational entities; store a corresponding plurality of association records; wherein an association record corresponding to an informational entity indicates an association and an association strength between the informational entity and another informational entity; and store a corresponding plurality of frequency indicators of the plurality of association records, wherein a frequency indicator corresponding to the informational entity indicates a frequency of access to the informational entity; and a processor configured to access the plurality of informational entities: generate a new informational entity; generate a new association record for the new informational entity based on the content of the new informational entity and the plurality of informational entities; store the new association record; store a new frequency indicator corresponding to the new informational entity; update the plurality of frequency indicators of the plurality of informational entities; increase a first frequency indicator by a first value, when a corresponding first informational entity is accessed; and increase a second frequency indicator of a second informational entity by a second value when the first informational entity is accessed, wherein the second informational entity is associated with the first informational entity; wherein the second value depends on an association strength between the first informational entity and the second informational entity.
 2. The system of claim 1, wherein an informational entity is a data file, e.g. a music file, a picture file, a contact data file, a file representing a time instant, a file representing a location, an email file, a document file.
 3. The system of claim 1, wherein a particular informational entity of the plurality of informational entities is associated with a universal category of a list of universal categories; the list of universal categories comprises a category associated with “people”, a category associated with “places”, a category associated with “time”, and a category associated with “things”; and the association record of the particular informational entity is structured according to the list of universal categories, such that an association to another informational entity is stored according to a universal category that the another informational entity is associated with.
 4. A method for storing a network of informational entities on a computing device, the method comprising: storing a plurality of informational entities; storing a corresponding plurality of association records; wherein an association record corresponding to an informational entity indicates an association and an association strength between the informational entity and another informational entity; and storing a corresponding plurality of frequency indicators of the plurality of informational entities, wherein a frequency indicator corresponding to the informational entity indicates a frequency of access to the informational entity; generating a new informational entity; generating a new association record for the new informational entity based on the content of the new informational entity and the plurality of informational entities; storing the new association record; storing a new frequency indicator corresponding to the new informational entity; updating the plurality of frequency indicators of the plurality of informational entities; increasing a first frequency indicator by a first value, when a corresponding first informational entity is accessed; and increasing a second frequency indicator of a second informational entity from the plurality of informational entities by a second value when the first informational entity is accessed, wherein the second informational entity is associated with the first informational entity; wherein the second value depends on an association strength between the first informational entity and the second informational entity.
 5. The method of claim 4, further comprising: converting a folder of a hierarchical tree like file structure into a third informational entity; converting a file within the folder of the hierarchical tree like file structure into a fourth informational entity; storing a third association record corresponding to the third informational entity, indicating an association and an association strength with the fourth informational entity; storing a fourth association record corresponding to the fourth informational entity, indicating an association and an association strength with the third informational entity; storing a third frequency indicator corresponding to the third informational entity, indicating a frequency of access to the third informational entity; and storing a fourth frequency indicator corresponding to the fourth informational entity, indicating a frequency of access to the fourth informational entity.
 6. The method of claim 5, wherein the third frequency indicator is higher than the fourth frequency indicator, to reflect that the third informational entity had a superior hierarchical position in the hierarchical tree like file structure than the fourth informational entity.
 7. The method of claim 4, further comprising: providing a structured file comprising hierarchically organized metadata; extracting the metadata from the structured file; storing a fifth and a sixth informational entity for metadata organized in a first and a second hierarchical level, respectively; storing a fifth association record corresponding to the fifth informational entity, indicating an association and an association strength with the sixth informational entity; storing a sixth association record corresponding to the sixth informational entity, indicating an association and an association strength with the fifth informational entity; storing a fifth frequency indicator corresponding to the fifth informational entity, indicating a frequency of access to the fifth informational entity; and storing a sixth frequency indicator corresponding to the sixth informational entity, indicating a frequency of access to the sixth informational entity.
 8. The method of claim 4, further comprising: displaying a user interface for enabling a manual association between a seventh informational entity and an eighth informational entity of the plurality of informational entities; adding an informational entry in the association record of the seventh informational entity, indicating an association and an association strength with the eighth informational entity; and adding an informational entry in the association record of the eighth informational entity, indicating an association and an association strength with the seventh informational entity.
 9. The method of claim 4, further comprising: storing a set of universal entities corresponding to universal categories of a list of universal categories.
 10. The method of claim 9, further comprising: providing a semantic sensor comprising a keyphrase having a subordinate relation to a first universal entity; identifying the keyphrase within a ninth informational entity of the plurality of informational entities; storing a new informational entity corresponding to the keyphrase; adding an entry in the association record of the first universal entity, indicating an association and an association strength with the new informational entity; and adding an informational entity in the association record of the new entity, indicating an association and an association strength with the informational ninth entity.
 11. The method of claim 10, wherein the semantic sensor comprises a plurality of variants of the keyphrase; and a variant of the keyphrase is identified within the ninth informational entity.
 12. The method of claim 10, wherein the semantic sensor further comprises an intermediate category subordinate to a first universal category of said list of universal categories and superordinate to the keyphrase; and wherein the method comprises: storing an intermediate entity corresponding to the intermediate category; adding an entry in the association record of the first universal entity, indicating an association and an association strength with the intermediate entity; and adding an entry in the association record of the intermediate entity, indicating an association and an association strength with the new informational entity. 